package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontFinanceAnteReport table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontFinanceAnteReport"
 */

public abstract class BaseAnteFrontFinanceAnteReport  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontFinanceAnteReport";
	public static String PROP_START_TIME = "StartTime";
	public static String PROP_ANTE_BASE_MONEY = "AnteBaseMoney";
	public static String PROP_FRONT_GAME_ID = "FrontGameId";
	public static String PROP_COMMISION_MONEY = "CommisionMoney";
	public static String PROP_SETTLEMENT_ID = "SettlementId";
	public static String PROP_REPORT_ID = "ReportId";
	public static String PROP_REPORT_TYPE = "ReportType";
	public static String PROP_REPORT_TIME = "ReportTime";
	public static String PROP_STOP_TIME = "StopTime";
	public static String PROP_PRICE_MONEY = "PriceMoney";
	public static String PROP_ANTE_PRICE_MONEY = "AntePriceMoney";


	// constructors
	public BaseAnteFrontFinanceAnteReport () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontFinanceAnteReport (java.lang.Integer reportId) {
		this.setReportId(reportId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontFinanceAnteReport (
		java.lang.Integer reportId,
		String frontGameId,
		java.lang.Long anteBaseMoney,
		java.lang.Long antePriceMoney,
		java.lang.Long commisionMoney,
		java.lang.Long priceMoney,
		java.lang.Integer reportType,
		java.lang.Integer settlementId,
		java.util.Date startTime,
		java.util.Date stopTime,
		java.util.Date reportTime) {

		this.setReportId(reportId);
		this.setFrontGameId(frontGameId);
		this.setAnteBaseMoney(anteBaseMoney);
		this.setAntePriceMoney(antePriceMoney);
		this.setCommisionMoney(commisionMoney);
		this.setPriceMoney(priceMoney);
		this.setReportType(reportType);
		this.setSettlementId(settlementId);
		this.setStartTime(startTime);
		this.setStopTime(stopTime);
		this.setReportTime(reportTime);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Integer reportId;

	// fields
	private String frontGameId;
	private java.lang.Long anteBaseMoney;
	private java.lang.Long antePriceMoney;
	private java.lang.Long commisionMoney;
	private java.lang.Long priceMoney;
	private java.lang.Integer reportType;
	private java.lang.Integer settlementId;
	private java.util.Date startTime;
	private java.util.Date stopTime;
	private java.util.Date reportTime;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="native"
     *  column="reportId"
     */
	public java.lang.Integer getReportId () {
		return reportId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param reportId the new ID
	 */
	public void setReportId (java.lang.Integer reportId) {
		this.reportId = reportId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: frontGameId
	 */
	public String getFrontGameId () {
		return frontGameId;
	}

	/**
	 * Set the value related to the column: frontGameId
	 * @param frontGameId the frontGameId value
	 */
	public void setFrontGameId (String frontGameId) {
		this.frontGameId = frontGameId;
	}



	/**
	 * Return the value associated with the column: anteBaseMoney
	 */
	public java.lang.Long getAnteBaseMoney () {
		return anteBaseMoney;
	}

	/**
	 * Set the value related to the column: anteBaseMoney
	 * @param anteBaseMoney the anteBaseMoney value
	 */
	public void setAnteBaseMoney (java.lang.Long anteBaseMoney) {
		this.anteBaseMoney = anteBaseMoney;
	}



	/**
	 * Return the value associated with the column: antePriceMoney
	 */
	public java.lang.Long getAntePriceMoney () {
		return antePriceMoney;
	}

	/**
	 * Set the value related to the column: antePriceMoney
	 * @param antePriceMoney the antePriceMoney value
	 */
	public void setAntePriceMoney (java.lang.Long antePriceMoney) {
		this.antePriceMoney = antePriceMoney;
	}



	/**
	 * Return the value associated with the column: commisionMoney
	 */
	public java.lang.Long getCommisionMoney () {
		return commisionMoney;
	}

	/**
	 * Set the value related to the column: commisionMoney
	 * @param commisionMoney the commisionMoney value
	 */
	public void setCommisionMoney (java.lang.Long commisionMoney) {
		this.commisionMoney = commisionMoney;
	}



	/**
	 * Return the value associated with the column: priceMoney
	 */
	public java.lang.Long getPriceMoney () {
		return priceMoney;
	}

	/**
	 * Set the value related to the column: priceMoney
	 * @param priceMoney the priceMoney value
	 */
	public void setPriceMoney (java.lang.Long priceMoney) {
		this.priceMoney = priceMoney;
	}



	/**
	 * Return the value associated with the column: reportType
	 */
	public java.lang.Integer getReportType () {
		return reportType;
	}

	/**
	 * Set the value related to the column: reportType
	 * @param reportType the reportType value
	 */
	public void setReportType (java.lang.Integer reportType) {
		this.reportType = reportType;
	}



	/**
	 * Return the value associated with the column: settlementId
	 */
	public java.lang.Integer getSettlementId () {
		return settlementId;
	}

	/**
	 * Set the value related to the column: settlementId
	 * @param settlementId the settlementId value
	 */
	public void setSettlementId (java.lang.Integer settlementId) {
		this.settlementId = settlementId;
	}



	/**
	 * Return the value associated with the column: startTime
	 */
	public java.util.Date getStartTime () {
		return startTime;
	}

	/**
	 * Set the value related to the column: startTime
	 * @param startTime the startTime value
	 */
	public void setStartTime (java.util.Date startTime) {
		this.startTime = startTime;
	}



	/**
	 * Return the value associated with the column: stopTime
	 */
	public java.util.Date getStopTime () {
		return stopTime;
	}

	/**
	 * Set the value related to the column: stopTime
	 * @param stopTime the stopTime value
	 */
	public void setStopTime (java.util.Date stopTime) {
		this.stopTime = stopTime;
	}



	/**
	 * Return the value associated with the column: reportTime
	 */
	public java.util.Date getReportTime () {
		return reportTime;
	}

	/**
	 * Set the value related to the column: reportTime
	 * @param reportTime the reportTime value
	 */
	public void setReportTime (java.util.Date reportTime) {
		this.reportTime = reportTime;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontFinanceAnteReport)) return false;
		else {
			AnteFrontFinanceAnteReport anteFrontFinanceAnteReport = (AnteFrontFinanceAnteReport) obj;
			if (null == this.getReportId() || null == anteFrontFinanceAnteReport.getReportId()) return false;
			else return (this.getReportId().equals(anteFrontFinanceAnteReport.getReportId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getReportId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getReportId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}